#pragma once

class HHModel
{
    double gK, gNa, gL;
    double nuK, nuNa, nuL;
    double m, am, bm;
    double n, an, bn;
    double h, ah, bh;
    double Iapp, Cm, nu, dt;

public:
    HHModel();
    void setDt(double _dt);
    void setIapp(double _Iapp);
    double calculateNu();
    double getDt(void);
    double getM(void);
    double getN(void);
    double getH(void);
    double getNu(void);

private:
    double dm(double _m);
    void rungeM();
    double dn(double _n);
    void rungeN();
    double dh(double _h);
    void rungeH();
    double dnu(double _nu);
    void rungeNu();
    void setConstants();
};
